home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 2 / MacMania 2.toast / Demo's / Tools&Utilities / Programming / Algorithms Folder / upload / dowjones.QBAS < prev    next >
Encoding:
Text File  |  1994-05-18  |  2.5 KB  |  43 lines  |  [TEXT/MSBB]

  1.  'copyright 1994 by Stephen Boerner, eye systems- 
  2. 'CIS-74203,2217   AOL-ISISINC  BMUG, iMAY NOT BE USED FOR COMMERCIAL GAIN
  3. 'MAY NOT BE USED FOR COMMERCIAL GAIN
  4. n=247+12:b=2500:e=3000:st=2750:av=20:inc=50:g=.0002':GOSUB tblg
  5. bk:BREAK OFF:CLS:RESTORE:od=1
  6. EDIT FIELD 1,STR$(b),(10,0)-(70,12):WHILE DIALOG(0)<>6:WEND:b=VAL(EDIT$(1))
  7. EDIT FIELD 2,STR$(e),(80,0)-(140,12):WHILE DIALOG(0)<>6:WEND:e=VAL(EDIT$(2))
  8. EDIT FIELD 3,STR$(inc),(150,0)-(210,12):WHILE DIALOG(0)<>6:WEND:inc=VAL(EDIT$(3))
  9. EDIT FIELD 4,STR$(av),(220,0)-(270,12):WHILE DIALOG(0)<>6:WEND:av=VAL(EDIT$(4))
  10. EDIT FIELD 5,STR$(st),(280,0)-(320,12):WHILE DIALOG(0)<>6:WEND:st=VAL(EDIT$(5))
  11. s=st:f=av*.00125:tr=(e-b)/inc:FOR k=1 TO tr:CALL MOVETO(0,300-k*300/tr)
  12. CALL LINETO (400,300-k*300/tr):PRINT b+k*inc:NEXT k:z=b
  13. FOR i=1 TO n-12:READ x:u=(x-50)/100:v=x-53.388
  14. IF x=0 THEN i=i-1:LINE (2*i,0)-(2*i,300):GOTO nn
  15. z=z*(1+u*f):s2=s2+(LOG(z)-.0315413)^2:s=s+LOG(z)
  16. CALL LINETO (2*i-1,300-(z-b)/(e-b)*300)
  17. nn:NEXT i:LOCATE 2,40:PRINT EXP(s/n),EXP(SQR(s2/n)),z
  18. BREAK ON:ON BREAK GOSUB bk
  19. zz:z=MOUSE(0)
  20. x=MOUSE(1):y=MOUSE(2):yy=INT(b+(300-y)/300*(e-b)):xx=INT(x/2*365/247)
  21. IF z=-2 THEN LINE(x,y)-(xl,yl):d=xx-da:r=yy/s:GOSUB g:od=o%:da=xx:s=yy:xl=x:yl=y
  22. IF z<>-1 THEN LOCATE 18,35:PRINT xx;yy;o%;o%+1000-1000*r;:GOTO zz
  23. r=s/yy:d=da-xx:GOSUB g:LOCATE 1,45:PRINT INT(o%/od*100):LOCATE 1,50:PRINT INT((o%+1000-1000*r)/(od+1000-1000*r)*100):GOTO zz
  24. g:IF d<1 THEN d=0 ELSE IF d>121 THEN d=121
  25. lr=INT(r*100)-lv(d):IF lr<0 THEN lr=0
  26. IF lr<nx(d) THEN o%=x%(d,lr) ELSE o%=INT(r*1000)-1000
  27. RETURN
  28. tblg:DIM x%(121,48),lv(121),nx(121):OPEN "I",#1,"optdat":FOR da=1 TO 121
  29. INPUT #1,da,nx(da),lv(da):FOR k=1 TO nx(da):INPUT #1,x%(da,k):NEXT k,da:CLOSE #1:RETURN
  30. DATA 48,83,52,44,52,44,55,55,73,53,48,48,48,61,61,72,78,47,66,42,68,68,0
  31. DATA 61,61,37,49,37,32,36,36,43,55,49,31,51,67,35,32,62,52,62,0
  32. DATA 66,66,52,52,35,52,83,48,61,48,66,62,55,53,43,63,32,52,63,42,36,0
  33. DATA 73,50,61,61,67,50,62,62,61,73,52,52,44,49,66,43,60,60,34,48,52,0
  34. DATA 52,72,72,55,43,56,32,48,35,42,52,33,48,33,51,55,37,32,32,42,63,76,0
  35. DATA 44,44,52,56,57,48,43,61,61,53,48,45,48,63,47,42,47,55,52,55,0
  36. DATA 77,84,70,60,60,52,37,55,47,38,38,41,52,54,54,44,44,68,72,68,71,0
  37. DATA 61,48,51,47,60,44,44,47,52,65,48,52,47,36,53,44,44,44,37,52,50,71,0
  38. DATA 72,61,51,43,52,62,57,68,47,48,67,48,44,51,67,62,56,56,27,32,0
  39. DATA 39,85,67,61,48,48,56,53,28,47,55,50,60,55,62,29,38,55,66,47,52,0
  40. DATA 54,65,80,60,55,76,58,48,53,53,48,65,60,56,71,48,52,52,0
  41. DATA 48,60,71,71,52,47,60,36,52,50,56,47,38,52,40,27,55,71,52,72,75,0
  42.  
  43.